package visitor;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * 对象结构，包含了一个元素列表，并提供了添加、删除元素和接受访问者的方法
 */
public class ObjectStructure {
    private final List<Element> elements = new LinkedList<>();

    public void addElement(Element element) {
        elements.add(element);
    }

    public void removeElement(Element element) {
        elements.remove(element);
    }

    public void accept(Visitor visitor) {
        for (Element element : elements) {
            element.accept(visitor);
        }
    }

}
